1. Technical Field of the Invention
The present invention relates to an image processing apparatus, a printing apparatus and an image processing method.
2. Description of the Related Art
In recent years, an image compression technique has spread with the development of a network and a digital apparatus. The most popular example of a format of the image compression includes “JPEG (Joint Photograph Experts Group)”. The JPEG is a high efficiency coding standard which can compress static image information expressed in 24 bits of RGB (red, green and blue).
FIG. 21 is a conceptual diagram showing a typical example of compression and decode processing based on the JPEG. More specifically, FIGS. 21(A) to 21(D) illustrate a compressing (coding) process and FIGS. 21(E) to 21(H) illustrate a reconstituting (decoding) process.
In the JPEG compression, original images expressed in RGB, or Y (brightness) Cb (blue color difference) Cr (red color difference) are first divided into blocks of 8 pixels×8 pixels as shown in FIG. 21(A).
As shown in FIG. 21(B), next, a DCT (discrete cosine transform) processing is carried out for each block. The DCT processing corresponds to a spatial frequency transformation, and a block image is expressed in a frequency by this processing. If image data are generally expressed in a frequency spectrum, information concentrates in a low frequency band. By omitting a high frequency band, therefore, it is possible to carry out coding in a small amount of information. Thus, the information is further quantized after the conversion to the frequency and is thus made discrete.
Next, data thus DCT quantized are subjected to a zigzag scan and are arranged in a line (are changed into serial data) as shown in FIG. 21(C). By carrying out an entropy code processing, then, it is possible to obtain a coding row shown in FIG. 21(D).
On the other hand, a reconstitution is executed as shown in FIGS. 21(E) to 21(H) by reversely carrying out a serial processing.
In some cases in which image data are treated, an input image is to be simply rotated at a predetermined angle. For example, when a JPEG image fetched into a personal computer through a medium such as a CD-ROM or internet is to be printed and output by means of a printer, the JPEG image is to be output in a rotating state at 90 degrees, 180 degrees or 270 degrees corresponding to a size of a paper or a layout of an image in some cases.
In such cases, it is possible to propose a method of reconstituting a whole JPEG image to be a target and then carrying out a rotation processing at a predetermined angle.
According to this method, however, there is a problem in that a memory having a large capacity for temporarily holding the whole reconstituted image is required, and furthermore, a time required for carrying out the rotation processing over image data having a large capacity is also increased, resulting in an increase in a load for a system.
For example, if it is assumed that the processing of reconstituting, holding and rotating the JPEG image is executed by a host computer, a memory cost of the host is increased, and furthermore, a processing load is increased. On the other hand, it is necessary to additionally provide a memory having a large capacity in order to execute the same operation on the printer side. Consequently, the cost is increased considerably.
In order to solve the problems, therefore, the technique disclosed in JP-A-2001-086318 has been proposed, for example.
A rotation processing described in JP-A-2001-086318 has been implemented in software. If the processing is to be carried out in software, thus, there is a problem in that a processing speed can be simply enhanced to some extent.